//
//  HEIMSession.h
//  HealthFamily
//
//  Created by 吴欧 on 2021/3/5.
//  Copyright © 2021 honglutec. All rights reserved.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

/**
 *  会话类型
 */
typedef NS_ENUM(NSInteger, HEIMSessionType){
    /**
     *  点对点
     */
    HEIMSessionTypeP2P  = 0,
    /**
     *  群组
     */
    HEIMSessionTypeTeam = 1,
    /**
     *  聊天室
     */
    HEIMSessionTypeChatroom = 2,
    /**
     *  超大群
     */
    HEIMSessionTypeSuperTeam = 3,
};


/**
 *  会话对象
 */
@interface HEIMSession : NSObject


/**
 *  会话ID,如果当前session为team,则sessionId为teamId,如果是P2P则为对方帐号
 */
@property (nonatomic,copy, readonly) NSString *sessionId;

/**
 *  会话类型,当前仅支持P2P,Team和Chatroom
 */
@property (nonatomic,assign, readonly) HEIMSessionType sessionType;

/**
 *   引用id，如图文问诊，则绑定该图文问诊的表单id，
 */
@property (nonatomic,copy) NSString *referenceId;


/**
 *  通过id和type构造会话对象
 *
 *  @param sessionId   会话ID
 *  @param sessionType 会话类型
 *
 *  @return 会话对象实例
 */
+ (instancetype)session:(NSString *)sessionId
                   type:(HEIMSessionType)sessionType;

@end

NS_ASSUME_NONNULL_END
